32-on-64: Fix register-argument rearrangement to avoid clobbering the
authorkaf24@localhost.localdomain <kaf24@localhost.localdomain>
Fri, 26 Jan 2007 10:10:12 +0000 (10:10 +0000)
committerkaf24@localhost.localdomain <kaf24@localhost.localdomain>
Fri, 26 Jan 2007 10:10:12 +0000 (10:10 +0000)
fifth hypercall argument.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/x86_64/compat/entry.S

index 8e8285b8f5355862ffbfdc0656a57294987127de..dadd1abe657be6269a45f8c9cec9d95a0b081a55 100644 (file)
@@ -33,11 +33,11 @@ ENTRY(compat_hypercall)
 #else
         /* Relocate argument registers and zero-extend to 64 bits. */
         movl  %eax,%eax              /* Hypercall #  */
-        movl  UREGS_rbx(%rsp),%edi   /* Arg 1        */
         xchgl %ecx,%esi              /* Arg 2, Arg 4 */
         movl  %edx,%edx              /* Arg 3        */
         movl  %edi,%r8d              /* Arg 5        */
         movl  %ebp,%r9d              /* Arg 6        */
+        movl  UREGS_rbx(%rsp),%edi   /* Arg 1        */
 #endif
         leaq  compat_hypercall_table(%rip),%r10
         PERFC_INCR(PERFC_hypercalls, %rax)